JavaScript-এ i হল একটি ফ্ল্যাগ যা রেগুলার এক্সপ্রেশন (RegExp) এর সাথে ব্যবহার করা হয় এবং এটি case-insensitive matching করতে সাহায্য করে। এর মানে হল, প্যাটার্নটি বড় হাতের বা ছোট হাতের অক্ষর নির্বিশেষে ম্যাচ করবে।
i ফ্ল্যাগ এর ব্যবহার
i ফ্ল্যাগটি রেগুলার এক্সপ্রেশনকে এমনভাবে কনফিগার করে যে এটি case-sensitive (বড়/ছোট অক্ষরের পার্থক্য) না করে, বড় বা ছোট অক্ষর নির্বিশেষে মিল খুঁজে পায়।
সিনট্যাক্স
let regex = /pattern/i;
এখানে, /pattern/i প্যাটার্নটি "pattern" শব্দটি case-insensitive ভাবে খুঁজবে, অর্থাৎ "pattern", "Pattern", "pAtTeRn" ইত্যাদি সব রকম ভ্যারিয়েশনকেই মিলিয়ে ফেলবে।
উদাহরণ
উদাহরণ ১: Case-insensitive Matching
let regex = /hello/i;
let str1 = "Hello world";
let str2 = "HELLO world";
let str3 = "HeLLo world";
console.log(regex.test(str1)); // true
console.log(regex.test(str2)); // true
console.log(regex.test(str3)); // true
এখানে, hello প্যাটার্নটি i ফ্ল্যাগের কারণে "Hello", "HELLO", এবং "HeLLo" সব ক্ষেত্রেই মিল পাচ্ছে।
উদাহরণ ২: Case-sensitive Matching (যেখানে i ফ্ল্যাগ নেই)
let regex = /hello/;
let str1 = "Hello world";
let str2 = "HELLO world";
let str3 = "HeLLo world";
console.log(regex.test(str1)); // true
console.log(regex.test(str2)); // false
console.log(regex.test(str3)); // false
এখানে, hello প্যাটার্নটি কোনো i ফ্ল্যাগ ছাড়া শুধুমাত্র small 'hello' এর সাথে মিল খুঁজবে এবং বড় হাতের "HELLO" বা "HeLLo" এর সাথে মিল খুঁজবে না।
i ফ্ল্যাগ এবং অন্যান্য প্যাটার্ন
i ফ্ল্যাগটি অন্যান্য RegExp প্যাটার্নের সাথে মিশিয়ে ব্যবহার করা যেতে পারে, যেমন:
উদাহরণ ৩: নির্দিষ্ট শব্দের মধ্যে case-insensitive মিল খোঁজা
let regex = /\bcat\b/i;
let str1 = "The Cat is cute";
let str2 = "The dog is cute";
console.log(regex.test(str1)); // true
console.log(regex.test(str2)); // false
এখানে, \bcat\b প্যাটার্নটি "Cat" শব্দের সাথে মিল পাচ্ছে, কারণ i ফ্ল্যাগের মাধ্যমে এটি "cat" বা "Cat" যেকোনোভাবে মিল খুঁজে পাচ্ছে।
সারাংশ
i ফ্ল্যাগ RegExp-এ case-insensitive matching সক্ষম করে। এর মাধ্যমে প্যাটার্নটি বড় হাতের এবং ছোট হাতের অক্ষরের পার্থক্য বিবেচনা না করে মিল খুঁজে পায়। এটি কোডে কেস ভেরিয়েশনকে উপেক্ষা করে নির্দিষ্ট প্যাটার্ন খোঁজার জন্য একটি শক্তিশালী টুল।
Read more